module('array');

test('KC.each', function() {
	expect(10);
	var arr = ['a', 'b'];
	var obj = {a : 'aa', b : 'bb', c : 0, d : null};
	var i = 0;
	KC.each(arr, function(key, val) {
		if (key === 0) ok(val === 'a');
		if (key === 1) ok(val === 'b');
		i++;
	});
	ok(i === 2);
	i = 0;
	KC.each(obj, function(key, val) {
		if (key === 'a') ok(val === 'aa');
		if (key === 'b') ok(val === 'bb');
		if (key === 'c') ok(val === 0);
		if (key === 'd') ok(val === null);
		i++;
	});
	ok(i === 4);
	i = 0;
	KC.each(arr, function(key, val) {
		i++;
		return false;
	});
	ok(i === 1);
	i = 0;
	KC.each(obj, function(key, val) {
		i++;
		return true;
	});
	ok(i === 4);
});

test('KC.isArray', function() {
	expect(8);
	ok(KC.isArray([]) === true);
	ok(KC.isArray(['a', 'b']) === true);
	ok(KC.isArray({a : 'a'}) === false);
	ok(KC.isArray(null) === false);
	ok(KC.isArray(1) === false);
	ok(KC.isArray('a') === false);
	ok(KC.isArray(0) === false);
	ok(KC.isArray('') === false);
});

test('KC.inArray', function() {
	expect(8);
	var arr = [null, 0, '', 10, '11', true];
	ok(KC.inArray(null, arr) === true);
	ok(KC.inArray(0, arr) === true);
	ok(KC.inArray('', arr) === true);
	ok(KC.inArray(10, arr) === true);
	ok(KC.inArray(11, arr) === false);
	ok(KC.inArray('11', arr) === true);
	ok(KC.inArray(true, arr) === true);
	ok(KC.inArray(false, arr) === false);
});